import numpy as np
import cv2 as cv

cap = cv.VideoCapture(0)
#定义编码器
'''
FourCC是一个4字节的代码，用于指定视频编解码器。可用代码列表可在fourcc.org中找到。它取决于平台。以下编解码器对我来说很好用。

在Fedora中：DIVX，XVID，MJPG，X264，WMV1，WMV2。（最好使用XVID。MJPG可以生成大尺寸的视频。X264提供非常小的尺寸的视频）
在Windows中：DIVX（尚待测试和添加）
在OSX中：MJPG（.mp4），DIVX（.avi），X264（.mkv）。
'''
fourcc = cv.VideoWriter_fourcc(*'XVID')
out = cv.VideoWriter('output.avi', fourcc, 20.0, (640,  480)) #输出视频名称

while True:
    ret,frame = cap.read()
    if not ret:
        print("Can't receive frame (stream end?). Exiting ...")
        break
    frame = cv.flip(frame,0)  #视频翻转
    out.write(frame)       #写入视频
    cv.imshow('frame',frame)   #名称为frame的窗口显示
    if cv.waitKey(1) == ord('q'):
        break

#释放
cap.release()
out.release()
cv.destroyAllWindows()
